﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace XiaoYuStock.Core.Entities
{
   public class DoctorData
    {
       /// <summary>
       /// 综合评分
       /// </summary>
       public decimal OverallScore { get; set; }

       /// <summary>
       /// 卖出|减持|中性|增持|买入
       /// </summary>
       public string ResultType { get; set; }


       /// <summary>
       /// 短期趋势
       /// </summary>
       public string SResult { get; set; }

       /// <summary>
       /// 中期趋势
       /// </summary>
       public string MResult { get; set; }

       /// <summary>
       /// 长期趋势
       /// </summary>
       public string LResult { get; set; }

       public TechnicalDoctor Technical { get; set; }

       public CapitalDoctor Capital { get; set; }

       public DoctorDetail Msg { get; set; }

       public DoctorDetail Industry { get; set; }

       public BaseDoctor BaseDoc { get; set; }

       /// <summary>
       /// 机构预测：卖出|减持|中性|增持|买入
       /// </summary>
       public string MechanismType { get; set; }

       public string MechanismOverview { get; set; }


       /// <summary>
       /// 平均成本
       /// </summary>
       public decimal CapitalPrice { get; set; }

       /// <summary>
       /// 描述
       /// </summary>
       public string CapitalDesc { get; set; }

       /// <summary>
       /// 诊断日期 
       /// </summary>
       public DateTime CapitalDate { get; set; }
    }

   public class DoctorDetail
   {
       public decimal Score { get; set; }
       public string Overview { get; set; }
   }
   public class TechnicalDoctor : DoctorDetail
   {
       /// <summary>
       /// 选股动向 
       /// </summary>
       public string SGDX { get; set; }

       /// <summary>
       /// 技术形态
       /// </summary>
       public List<DoctorItem> JSXT { get; set; }
       /// <summary>
       /// 买入信号
       /// </summary>
       public List<DoctorItem> MRXH { get; set; }


       /// <summary>
       /// 平均成本
       /// </summary>
       public decimal PJCB { get; set; }

       /// <summary>
       /// 平均成本类型：上/下
       /// </summary>
       public string PJCBType { get; set; }

       /// <summary>
       /// 市场表现
       /// </summary>
       public string SCBX { get; set; }

       /// <summary>
       /// 压力位
       /// </summary>
       public decimal YLW { get; set; }

       /// <summary>
       /// 支撑位
       /// </summary>
       public decimal ZCW { get; set; }

       /// <summary>
       /// 多空趋势
       /// </summary>
       public string DKQS { get; set; }
   }


   public class CapitalDoctor : DoctorDetail
   {
       /// <summary>
       /// 资金流向
       /// </summary>
       public string ZJLX { get; set; }

       /// <summary>
       /// 主力控盘 没有控盘|轻度控盘|中度控盘|高度控盘
       /// </summary>
       public string ZLKP { get; set; }

       /// <summary>
       /// 机构持仓
       /// </summary>
       public string JGCC { get; set; }
   }


   public class BaseDoctor : DoctorDetail
   {

       /// <summary>
       /// 潜在高送转送能力
       /// </summary>
       public string QZGSZSNLType { get; set; }

       /// <summary>
       /// 潜在高送转送能力 依据
       /// </summary>
       public string QZGSZSNLReason { get; set; }

       /// <summary>
       /// 潜在高分红能力
       /// </summary>
       public string QZGFHNLType { get; set; }

       /// <summary>
       /// 潜在高分红能力 依据
       /// </summary>
       public string QZGFHNLReason { get; set; }
       /// <summary>
       /// 盈利能力
       /// </summary>
       public string YLNL { get; set; }

       /// <summary>
       /// 成长能力
       /// </summary>
       public string CZNL { get; set; }

       /// <summary>
       /// 营运能力
       /// </summary>
       public string YYNL { get; set; }
       /// <summary>
       /// 现金流能力
       /// </summary>
       public string XJLNL { get; set; }

       /// <summary>
       /// 短期偿债能力
       /// </summary>
       public string DQCHNL { get; set; }

       /// <summary>
       /// 长期偿债能力
       /// </summary>
       public string CQCHNL { get; set; }
   }


   public class DoctorItem
   {
       /// <summary>
       /// 
       /// </summary>
       public string Key { get; set; }
      /// <summary>
      /// 
      /// </summary>
       public string Value { get; set; }
   }
}
